package com.tanhua.dubbo.api;

/**
 * @Author: cl
 * @Date: 2022/5/6 - 05 - 06
 * @Description:
 */

import com.tanhua.model.enums.CommentType;
import com.tanhua.model.mongo.Comment;
import org.bson.types.ObjectId;

import java.util.List;

/**
 * 互动模块接口(评论点赞)
 */
public interface CommentApi {

    /**
     * 发布评论并获取最新评论数量
     *
     * @param comment
     * @return
     */
    Integer send(Comment comment);

    /**
     * 根据动态id和评论类型分页查询动态评论信息
     *
     * @param page
     * @param pageSize
     * @param movementId
     * @param comment
     * @return
     */
    List<Comment> findByMovementId(Integer page, Integer pageSize, ObjectId movementId, CommentType comment);

    /**
     * 判断是否点赞或者喜欢
     *
     * @param movementId
     * @param userId
     * @param commentType
     * @return
     */
    boolean isOrNo(ObjectId movementId, Long userId, CommentType commentType);


    /**
     * 删除点赞喜欢或者评论
     *
     * @param comment
     * @return
     */
    Integer delete(Comment comment);

    //根据类型和发布人id查询评论点赞喜欢
    List<Comment> getByPublishUserIdAndType(Long userId, Integer type, Integer page, Integer pagesize);
}
